package lms

import "hcy-api/lib/utils"

// DocEmbedding 文档嵌入时发送的结构体
type DocEmbedding struct {
	KnowledgeId   int64                  `json:"knowledgeId,string"`
	CoursewareIds utils.StringArrayInt64 `json:"coursewareIds"`
}

// DocRefer 文档参考
type DocRefer struct {
	Content   string                 `json:"content"`   //文档内容
	Distances float64                `json:"distances"` // 相似度距离，距离越小，关联度越高。
	MetaData  map[string]interface{} `json:"metaData"`  // 其他元数据
}

// AddKnowledge 添加知识库
type AddKnowledge struct {
	Name           string `json:"name"`
	Describe       string `json:"describe"`
	EmbeddingModel string `json:"embeddingModel"`
	ChunkSize      int    `json:"chunkSize"`
	ChunkOverlap   int    `json:"chunkOverlap"`
}

// StartChat 开始聊天时需要发送的参数
type StartChat struct {
	KnowledgeId int64   `json:"knowledgeId,string"` // 知识库ID
	Model       string  `json:"model"`              // llm模型
	Prom        int64   `json:"prom,string"`        // 提示词id
	Query       string  `json:"query"`              // 问题
	Temperature float64 `json:"temperature"`        // 温度，温度越高回答越严谨，温度越低回答越放飞自我。
	ReferDocNum int32   `json:"referDocNum"`        // 应用文档的数量
}
